import path from 'node:path'
import fs from 'node:fs'

// 定义要引入的文件所在目录
const srcDirectory = './router'
const moduleList = []
export const loadSrc = () => {
  // 读取目录中的文件
  fs.readdir(srcDirectory, (err, files) => {
    if (err) {
      console.error(`无法读取目录：${err}`)
      return
    }

    // 遍历文件并动态引入
    files.forEach(file => {
      // 判断是否为JavaScript文件
      if (path.extname(file) === '.js') {
        // 构建文件的绝对路径
        const filePath = path.join(srcDirectory, file)
        // 使用require动态引入文件
        // const module = require(filePath)
        // 反斜杠是一个转义字符，所以需要使用两个反斜杠来表示一个反斜杠。
        const module = importModule(filePath)
        console.log('模块已成功导入：',module,)

        // 在这里可以使用引入的模块进行后续操作，例如调用函数等
        // module.someFunction();
        console.log(`成功引入文件：${file}`)
      }
    })
    return moduleList
  })
}

const importModule = async path => {
  try {
    const module = await import(path)
    console.log('模块已成功导入：', module)
  } catch (error) {
    console.error('模块导入失败：', error)
  }
  return module
}
